<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/common.js"></script>
</head>

<body>

</body>
<script>
    // 函数的嵌套  


    // 在一个函数中 可以 嵌套调用 另外一个或多个函数
    // function fn(){
    //     var a = isRun(2000);
    //     var b = isShui(371);
    //     var c = isSu(83);
    //     console.log(a,b,c);
    // }
    // fn();


    // 函数中 可以 嵌套声明调用 另一个函数 => 函数中声明的函数也是局部的 
    // function fn(){
    //     console.log("这是fn函数");

    //     function a(){
    //         console.log("这是a函数");
    //     }
    //     a();

    //     console.log("代码执行完毕");
    // }

    // fn();


    // 注意: 
    // 函数嵌套调用时 => 只有当内层函数执行完毕,外层函数才会继续向后执行  (代码执行流程)
    // 如果向将内层函数的返回值  返回出外层函数  => 外层函数也要return该值 (关于返回值)

    // function fn(){
    //     console.log("这是fn函数");

    //     function a(){
    //         console.log("这是a函数");
    //         return 1;
    //     }
    //     a(); // 1

    //     console.log("代码执行完毕");
    // }

    // var result = fn();
    // console.log(result);


    // function fn(){
    //     console.log("这是fn函数");

    //     function a(){
    //         console.log("这是a函数");
    //         // while(true);
    //         return 1;
    //     }
    //     return a(); // 1
    // }

    // var result = fn();
    // console.log(result);

    debugger;
    
    function fn() {
        debugger;
        console.log("这是fn函数");
        
        function a() {
            debugger;
            console.log("这是a函数");
            
            function b() {
                debugger;
                console.log("这是b函数");
                // while(true);
                return 1;
            }
            var temp =  b(); // 1
            return temp;  // 1
            

        }
        return a(); // 1
    }

    // fn()  => a()  => b()
    //                   ||
    //   1    <=  1   <=  1 

    var result = fn();
    console.log(result);











</script>

</html>